-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(cli): support --import-existing-resources
flag in cdk diff
#32831
base: main
Are you sure you want to change the base?
Conversation
stream, | ||
}); | ||
} else { | ||
if (options.importExistingResources) { | ||
throw new ToolkitError(`--import-existing-resources diff cannot be enabled for a stack that does not exist yet. StackName: ${stack.stackName}`); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
According to #29492, cdk diff will not create changeset when the target stack does not exist. Without changeset, CDK cannot know which resource will be imported, so I just throw an error instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The pull request linter has failed. See the aws-cdk-automation comment below for failure reasons. If you believe this pull request should receive an exemption, please comment and provide a justification.
A comment requesting an exemption should contain the text Exemption Request
. Additionally, if clarification is needed add Clarification Request
to a comment.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #32831 +/- ##
==========================================
- Coverage 81.52% 81.51% -0.01%
==========================================
Files 222 222
Lines 13717 13721 +4
Branches 2417 2419 +2
==========================================
+ Hits 11183 11185 +2
- Misses 2254 2255 +1
- Partials 280 281 +1
Flags with carried forward coverage won't be shown. Click here to find out more.
|
|
||
try { | ||
await fixture.cdkDeploy('simplified-import', { | ||
}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The integ-test steps:
- Create an AWS resource (e.g. ECR repository) to be imported
- Deploy a stack without importing resource (because cdk diff only works for an existing stack)
- Run cdk diff with the stack template that contains the resource to be imported
- assert cdk diff output
- destroy stack
- delete the AWS resource created at step 1
Exemption Request: this PR is for cli and will not need to update aws-cdk-lib integ tests. I added cli-integ test instead. |
The pull request linter fails with the following errors:
PRs must pass status checks before we can provide a meaningful review. If you would like to request an exemption from the status checks or clarification on feedback, please leave a comment on this PR containing ✅ A exemption request has been requested. Please wait for a maintainer's review. |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
The pull request linter fails with the following errors:
PRs must pass status checks before we can provide a meaningful review. If you would like to request an exemption from the status checks or clarification on feedback, please leave a comment on this PR containing ✅ A exemption request has been requested. Please wait for a maintainer's review. |
Issue # (if applicable)
Closes #32790.
Reason for this change
I want to know which resources are imported before deployment by just executing cdk diff.
Description of changes
This PR adds a new CLI option
--import-existing-resources
to cdk diff command. The value is passed when cdk diff creates a change set.Describe any new or updated permissions being added
None.
Description of how you validated changes
I added a unit test. Also I did E2E testing in my local environment.
Checklist
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license